/**
 * 事件相关配置
 * @author 朱琦
 * @date   时间：2022/11/16
 */

/**
 * 事件状态配置
 * isFinish: 是否已结案
 * statusConfig: 未结案状态值配置 (1待确认 2确认中 3已确认 4处置中 5结案 6归档)
 */
export const statusConfig = [
  { key: 1, value: '当前事件', isFinish: false, statusConfig: [1, 2, 3, 4] },
  { key: 2, value: '历史事件', isFinish: true, statusConfig: [5, 6] }
]
/**
 * 事件类型配置
 * key：自定义事件类型 - 具体的事件类型 （根据事件类型分类来定义自定义事件类型）
 * eventAttribute: 事件性质    1突发性 2计划性
 * eventType: 事件类型分类 - 值
 * eventTypeCharacter：事件类型分类 - 字符标识
 * roadType: 路网类型 1 GW-高速公路     2 AW-普通公路
 * routeName: 路由名
 * color：事件主色
 * iconName：事件图标名
 */
export const eventTypeConfig = [
  {
    key: 'ALL', // 仅做展示用
    value: '全部',
    roadType: 2,
    color: '#1172EA',
    iconName: 'all'
  },
  {
    key: 'TAA1',
    eventType: 1,
    eventTypeCharacter: 'TA',
    eventAttribute: 1,
    value: '事故灾害',
    roadType: 2,
    routeName: 'TAA1',
    color: '#EF4821',
    iconName: 'accident'
  },
  {
    key: 'TBA1',
    eventType: 2,
    eventTypeCharacter: 'TB',
    eventAttribute: 1,
    value: '恶劣天气',
    roadType: 2,
    routeName: 'TBA1',
    color: '#ED97BD',
    iconName: 'bad-weather'
  },
  {
    key: 'TCA1',
    eventType: 3,
    eventTypeCharacter: 'TC',
    eventAttribute: 1,
    value: '地质灾害',
    roadType: 2,
    routeName: 'TCA1',
    color: '#C78647',
    iconName: 'geologic-hazard'
  },
  {
    key: 'TDA1',
    eventType: 4,
    eventTypeCharacter: 'TD',
    eventAttribute: 1,
    value: '突发其他',
    roadType: 2,
    routeName: 'TDA1',
    color: '#45A3A2',
    iconName: 'sudden-other'
  },
  {
    key: 'JEA1',
    eventType: 5,
    eventTypeCharacter: 'JE',
    eventAttribute: 2,
    value: '施工养护',
    roadType: 2,
    routeName: 'JEA1',
    color: '#06ACD3',
    iconName: 'construction'
  },
  {
    key: 'JFA1',
    eventType: 6,
    eventTypeCharacter: 'JF',
    eventAttribute: 2,
    value: '重大活动',
    roadType: 2,
    routeName: 'JFA1',
    color: '#69978E',
    iconName: 'major-events'
  },
  {
    key: 'JGA1',
    eventType: 7,
    eventTypeCharacter: 'JG',
    eventAttribute: 2,
    value: '计划其他',
    roadType: 2,
    routeName: 'JGA1',
    color: '#2DCD91',
    iconName: 'plan-other'
  },
  // 高速
  {
    key: 'TAB1',
    eventType: 1,
    eventTypeCharacter: 'TA',
    eventAttribute: 1,
    value: '交通事故',
    roadType: 1,
    routeName: 'TAB1',
    color: '#EF4821',
    iconName: 'accident'
  },
  {
    key: 'TAB2',
    eventType: 1,
    eventTypeCharacter: 'TA',
    eventAttribute: 1,
    value: '车辆故障',
    roadType: 1,
    routeName: 'TAB2',
    color: '#F69129',
    iconName: 'vehicle-fault'
  },
  {
    key: 'JEB1',
    eventType: 5,
    eventTypeCharacter: 'JE',
    eventAttribute: 2,
    value: '施工养护',
    roadType: 1,
    routeName: 'JEB1',
    color: '#06ACD3',
    iconName: 'construction'
  },
  {
    key: 'TBB1',
    eventType: 2,
    eventTypeCharacter: 'TB',
    eventAttribute: 1,
    value: '恶劣天气',
    roadType: 1,
    routeName: 'TBB1',
    color: '#ED97BD',
    iconName: 'bad-weather'
  },
  {
    key: 'TDB2',
    eventType: 4,
    eventTypeCharacter: 'TD',
    eventAttribute: 1,
    value: '障碍物',
    roadType: 1,
    routeName: 'TDB2',
    color: '#F7B80F',
    iconName: 'obstacle'
  },
  {
    key: 'TDB1',
    eventType: 4,
    eventTypeCharacter: 'TD',
    eventAttribute: 1,
    value: '大流量',
    roadType: 1,
    routeName: 'TDB1',
    color: '#127BEE',
    iconName: 'large-flow'
  },
  {
    key: 'JGB1',
    eventType: 7,
    eventTypeCharacter: 'JG',
    eventAttribute: 2,
    value: '交通管控',
    roadType: 1,
    routeName: 'JGB1',
    color: '#9B75E9',
    iconName: 'traffic-control'
  },
  {
    key: 'JGB2',
    eventType: 7,
    eventTypeCharacter: 'JG',
    eventAttribute: 2,
    value: '信息发布',
    roadType: 1,
    routeName: 'JGB2',
    color: '#52C252',
    iconName: 'information'
  }
]

/**
 * 事件类型配置
 */
export const roadEventConfig = {
  // 公路事件类型
  1: [
    {
      key: 1,
      value: null,
      config: ['TAB1', 'TAB2', 'JEB1', 'TBB1', 'TDB2', 'TDB1', 'JGB1', 'JGB2']
    }
  ],
  2: [
    {
      key: 1,
      value: '计划性',
      config: ['JEA1', 'JFA1', 'JGA1']
    },
    {
      key: 2,
      value: '突发性',
      config: ['TAA1', 'TBA1', 'TCA1', 'TDA1']
    }
  ]
}

/**
 * 事件列表 标签配置
 * key: 唯一标识
 * value：值，取字典时无效
 * color：基础色
 * isDict：是否取字典值
 * dataKey: 所需的数据key
 * dictKey：字典key   --- 用于 查找字典标识为dictKey 里 val值为dataKey值的 描述
 * solid：是否为实底
 *      true: color为背景色,字体白色
 *      false：color为字体色和边框色，背景色白色
 */
export const eventTagConfig = [
  // 拥堵情况
  {
    key: 'traffic-condition',
    value: '拥堵情况',
    color: '#E77A08',
    isDict: true,
    dataKey: 'condition',
    dictKey: 'BOLCK-AFFECT',
    solid: true
  },
  // 天气影响
  {
    key: 'weather-condition',
    value: '天气影响',
    color: '#F83015',
    isDict: true,
    dataKey: 'badWeather',
    dictKey: 'weather-condition',
    solid: false
  },
  {
    key: 'dangerCar',
    value: '危',
    color: '#F83015'
  },
  {
    key: 'guestCar',
    value: '客',
    color: '#266BF4'
  },
  {
    key: 'control',
    value: '管',
    color: '#EFB900'
  },
  {
    key: 'urgent',
    value: '急',
    color: '#CF53C2'
  }
]

/**
 * 获取具体事件状态 配置信息
 * @param {*} key
 * @returns
 */
export const getEventTypeConfig = key => {
  const index = eventTypeConfig.findIndex(i => i.key === key)
  return index > -1 ? eventTypeConfig[index] : {}
}

/**
 * 获取具体事件状态 配置信息
 * @param {*} key
 * @returns
 */
export const getEventStatusConfig = key => {
  const index = statusConfig.findIndex(i => i.key === key)
  return index > -1 ? statusConfig[index] : null
}

/**
 * 获取事件列表 标签配置
 * @param {*} key
 * @returns
 */
export const getEventTagConfig = key => {
  const index = eventTagConfig.findIndex(i => i.key === key)
  return index > -1 ? eventTagConfig[index] : null
}

// 找到views/pages文件夹下以.vue命名的文件
// const eventPages = require.context('@/views/pages/', true, /\.vue$/) // 返回值是函数
// const introductionsLength = eventPages.keys()
// if (introductionsLength.length) {
//   // 路径./app/ 包含 .vue文件
//   introductionsLength.forEach(fileName => {
//     // 遍历组件
//     const componentConfig = introductions(fileName) // 动态引入 ./app/Non-functional-safety.vue
//     components['NonFunctionalSafety'] = componentConfig.default || componentConfig // 注册组件
//   })
// }
/**
 * 事件路由配置
 */
// export const getEventRoutes = () => {
//   const eventRoutes = []
//   eventTypeConfig.forEach(config => {
//     if (config.routeName) {
//     }
//   })
// }
